<?php

/*
 * Funkce ověřující, zda se mají stažené maily ze schránky odstraňovat
 * @vrací true nebo false
 */
function mailcontent_get_perm_del(){
    $result = db_query("SELECT value FROM {mailcontent_servis} WHERE name='permision_del_msg'");
    while ($row = db_fetch_array($result)){
        if ($row['name'] == '1' || strtolower($row['name']) == 'yes'){
            return true;
        }
    }
    return false;
}//OK

/*
 * Funkce pro zobrazení nastavení - zobrazuje poslední zobrazovanou položku nebo vybranou položku
 * $p1, $p2, $p3, $p4 - parametry předané callbackem
 */
function mailcontent_settings($p1 = '', $p2 = '', $p3 = '', $p4 = '') {
        global $user;
        if ($p1 != ''){
            if ($p2 != ''){
                if ($p3 != ''){
                    if ($p4 != ''){
                        drupal_goto("mailcontent/".$p1."/".$p2."/".$p3."/".$p4);
                    }
                    drupal_goto("mailcontent/".$p1."/".$p2."/".$p3);
                }
                drupal_goto("mailcontent/".$p1."/".$p2);
            }
            drupal_goto("mailcontent/".$p1);
        } else {
            $link = mailcontent_load_filter('settings', 'order');
            drupal_goto("mailcontent/settings/".$link);
        }
    drupal_goto("mailcontent/settings/accounts");
} //OK

/*
 * Funkce pro zobrazení nastavení - zobrazuje nastavení účtů
 */
function mailcontent_settings_accounts() {
    mailcontent_set_filter('settings', 'accounts', '');
    $text = "<hr><br><br>";
    $text = $text."<h2>".t('Accounts for WindowsLive mailboxes')."</h2>";
    $text = $text.mailcontent_list_accounts();
    $text = $text.drupal_get_form('mailcontent_settings_add_mail_form');
    $text = $text."<hr><br><br>";
    return $text;
} //OK
/*
 * Funkce pro zobrazení nastavení - mailových adres
 */
function mailcontent_settings_mailboxes(){
    mailcontent_set_filter('settings', 'mailboxes', '');
    $text = "<hr><br><br>";
    $text = $text."<h2>".t('Allowed mailboxes for adding content')."</h2>";
    $text = $text.mailcontent_list_allowed_mailaddress();
    $text = $text.drupal_get_form('mailcontent_settings_add_permision_for_mailaddress_form');
    $text = $text."<hr><br><br>";
    return $text;
} //OK
/*
 * Funkce pro zobrazení nastavení - zobrazuje nastavení akcí
 */
function mailcontent_settings_actions(){
    mailcontent_set_filter('settings', 'actions', '');
    $text = "<hr><br><br>";
    $text = $text."<h2>".t('Actions which can be applied')."</h2>";
    $text = $text.mailcontent_list_actions();
    $text = $text.drupal_get_form('mailcontent_settings_add_action_form');
    $text = $text."<hr><br><br>";
    return $text;
} //OK
/*
 * Funkce pro zobrazení nastavení - zobrazuje nastavení klíčových slov
 */
function mailcontent_settings_keywords(){
    mailcontent_set_filter('settings', 'keywords', '');
    $text = "<hr><br><br>";
    $text = $text."<h2>".t('Keywords which can be applied')."</h2>";
    $text = $text.mailcontent_list_keywords();
    $text = $text.drupal_get_form('mailcontent_settings_add_keyword_form');
    $text = $text."<hr><br><br>";
    return $text;
} //OK
/*
 * Funkce pro zobrazení nastavení - zobrazuje nastavení rolí
 */
function mailcontent_settings_roles(){
    mailcontent_set_filter('settings', 'roles', '');
    $text = "<hr><br><br>";
    $text = $text."<h2>".t('Roles which can be applied')."</h2>";
    $text = $text.mailcontent_list_roles();
    $text = $text.drupal_get_form('mailcontent_settings_add_role_form');
    $text = $text."<hr><br><br>";
    return $text;
} //OK
/*
 * Funkce pro zobrazení nastavení - zobrazuje nastavení servis tabulky
 */
function mailcontent_settings_others(){
    mailcontent_set_filter('settings', 'others', '');
    $text = "<hr><br><br>";
    $text = $text."<h2>".t('Service values for addvanced settings and more function')."</h2>";
    $text = $text.mailcontent_list_others();
    $text = $text.drupal_get_form('mailcontent_settings_add_other_form');
    $text = $text."<hr><br><br>";
    return $text;
} //OK

/*
 * Funkce, která se stará o návrat na stránku, kde uživatel provedl akci 
 * @přesměrování
 */
function mailcontent_goto_settings() {
        if ($GLOBALS['mailcontent_ret'] != ''){
            drupal_goto('mailcontent/settings/'.$GLOBALS['mailcontent_ret']);
        } else{
            drupal_goto('mailcontent/settings');
        }
}//OK

/*
 * Funkce nastavuje zvolený uživatelské řazení pro danou stránku
 * $filter - stránka
 * $order - podle čeho řadit
 * $sort - řazení vzestupně, sestupně
 */
function mailcontent_set_filter($filter, $order, $sort) {
    global $user;
    if (db_result(db_query("SELECT * FROM {mailcontent_user_filters} WHERE filter_duid=".$user->uid." AND filter='".$filter."'"))) {
        if (db_query("UPDATE {mailcontent_user_filters} SET filter_order='".$order."', filter_sort='".$sort." ' WHERE filter_duid=".$user->uid." AND filter='".$filter."'")) {
            return true;
        } else {
            return false;
        }
    } else {
        if (db_query("INSERT INTO {mailcontent_user_filters}(filter_duid, filter, filter_order, filter_sort) VALUES(".$user->uid.", '".$filter."', '".$order."', '".$sort."')")) {
            return true;
        } else {
            return false;
        }
    }

}//OK
/*
 * Funkce vrací nastavené filtry pro dané stránky z databáze
 * $filter - stránka
 * $value - filtr pro daný obsah
 */
function mailcontent_load_filter($filter ,$value) {
    global $user;
    if (db_result(db_query("SELECT filter_".$value." FROM {mailcontent_user_filters} WHERE filter_duid=".$user->uid." AND filter='".$filter."'"))) {
        $result = db_query("SELECT filter_".$value." FROM {mailcontent_user_filters} WHERE filter_duid=".$user->uid." AND filter='".$filter."'");
        while ($row = db_fetch_array($result)) {
            return $row['filter_'.$value];
        }
    }
    return mailcontent_default_filters($filter ,$value);
}//OK
/*
 * Funkce vrací defaultní filtry
 * $filter - stránka
 * $value - hodnota defaultního filtru
 */
function mailcontent_default_filters($filter, $value) {
    if ($filter == 'settings') {
        return 'accounts';
    }
    if ($value == 'sort') {
        return 'DESC';
    } else {
        if ($value == 'order') {
            return 'idm';
        }
    }
} //OK


?>
